﻿using System;

namespace EvaluacionExalmarEntidades
{
    [Serializable]
    public class ResultadoInfo
    {
        private int? _idEmpleado;
        private EmpleadoInfo _empleado;
        private int? _nroEvaluaciones;
        private CompetenciaInfo _competencia1;
        private double? _promedioCompetencia1;
        private CompetenciaInfo _competencia2;
        private double? _promedioCompetencia2;
        private CompetenciaInfo _competencia3;
        private double? _promedioCompetencia3;
        private CompetenciaInfo _competencia4;
        private double? _promedioCompetencia4;
        private CompetenciaInfo _competencia5;
        private double? _promedioCompetencia5;
        private CompetenciaInfo _competencia6;
        private double? _promedioCompetencia6;
        private String _reporteGenerado;
        private String _nombreArchivo;

        public ResultadoInfo()
        {
        }

        public ResultadoInfo(int? nIdEmpleado)
        {
            _idEmpleado = nIdEmpleado;
        }

        public ResultadoInfo(int? nIdEmpleado, EmpleadoInfo oEmpleado)
        {
            _idEmpleado = nIdEmpleado;
            _empleado = oEmpleado;
        }

        public ResultadoInfo(int? nIdEmpleado, EmpleadoInfo oEmpleado, int? nNroEvaluaciones,
                             CompetenciaInfo oCompetencia1,
                             double? nPromedioCompetencia1, CompetenciaInfo oCompetencia2, double? nPromedioCompetencia2,
                             CompetenciaInfo oCompetencia3, double? nPromedioCompetencia3, CompetenciaInfo oCompetencia4,
                             double? nPromedioCompetencia4,
                             CompetenciaInfo oCompetencia5, double? nPromedioCompetencia5, CompetenciaInfo oCompetencia6,
                             double? nPromedioCompetencia6, String sReporteGenerado, String sNombreArchivo)
        {
            _idEmpleado = nIdEmpleado;
            _empleado = oEmpleado;
            _nroEvaluaciones = nNroEvaluaciones;
            _competencia1 = oCompetencia1;
            _promedioCompetencia1 = nPromedioCompetencia1;
            _competencia2 = oCompetencia2;
            _promedioCompetencia2 = nPromedioCompetencia2;
            _competencia3 = oCompetencia3;
            _promedioCompetencia3 = nPromedioCompetencia3;
            _competencia4 = oCompetencia4;
            _promedioCompetencia4 = nPromedioCompetencia4;
            _competencia5 = oCompetencia5;
            _promedioCompetencia5 = nPromedioCompetencia5;
            _competencia6 = oCompetencia6;
            _promedioCompetencia6 = nPromedioCompetencia6;
            _reporteGenerado = sReporteGenerado;
            _nombreArchivo = sNombreArchivo;
        }

        public int? IdEmpleado
        {
            get { return _idEmpleado; }
            set { _idEmpleado = value; }
        }

        public EmpleadoInfo Empleado
        {
            get { return _empleado; }
            set { _empleado = value; }
        }

        public int? NroEvaluaciones
        {
            get { return _nroEvaluaciones; }
            set { _nroEvaluaciones = value; }
        }

        public double? PromedioCompetencia1
        {
            get { return _promedioCompetencia1; }
            set { _promedioCompetencia1 = value; }
        }

        public double? PromedioCompetencia2
        {
            get { return _promedioCompetencia2; }
            set { _promedioCompetencia2 = value; }
        }

        public double? PromedioCompetencia3
        {
            get { return _promedioCompetencia3; }
            set { _promedioCompetencia3 = value; }
        }

        public double? PromedioCompetencia4
        {
            get { return _promedioCompetencia4; }
            set { _promedioCompetencia4 = value; }
        }

        public double? PromedioCompetencia5
        {
            get { return _promedioCompetencia5; }
            set { _promedioCompetencia5 = value; }
        }

        public double? PromedioCompetencia6
        {
            get { return _promedioCompetencia6; }
            set { _promedioCompetencia6 = value; }
        }

        public CompetenciaInfo Competencia1
        {
            get { return _competencia1; }
            set { _competencia1 = value; }
        }

        public CompetenciaInfo Competencia2
        {
            get { return _competencia2; }
            set { _competencia2 = value; }
        }

        public CompetenciaInfo Competencia3
        {
            get { return _competencia3; }
            set { _competencia3 = value; }
        }

        public CompetenciaInfo Competencia4
        {
            get { return _competencia4; }
            set { _competencia4 = value; }
        }

        public CompetenciaInfo Competencia5
        {
            get { return _competencia5; }
            set { _competencia5 = value; }
        }

        public CompetenciaInfo Competencia6
        {
            get { return _competencia6; }
            set { _competencia6 = value; }
        }

        public string ReporteGenerado
        {
            get { return _reporteGenerado; }
            set { _reporteGenerado = value; }
        }

        public string NombreArchivo
        {
            get { return _nombreArchivo; }
            set { _nombreArchivo = value; }
        }

        public double? PromedioGeneral
        {
            get { return (_promedioCompetencia1 + _promedioCompetencia2 + _promedioCompetencia3+ _promedioCompetencia4 + 
                _promedioCompetencia5 + _promedioCompetencia6) / 6; }
        }
    }
}
